package com.taxx.service;

import com.taxx.entity.SysPermission;

import java.util.List;

/**
 * 系统权限服务接口
 */
public interface SysPermissionService {
    
    /**
     * 获取权限列表
     */
    List<SysPermission> getPermissionList();
    
    /**
     * 根据ID获取权限
     */
    SysPermission getPermissionById(Long id);
    
    /**
     * 创建权限
     */
    boolean createPermission(SysPermission permission);
    
    /**
     * 更新权限
     */
    boolean updatePermission(SysPermission permission);
    
    /**
     * 删除权限
     */
    boolean deletePermission(Long id);
    
    /**
     * 更新权限状态
     */
    boolean updatePermissionStatus(Long id, Integer status);
    
    /**
     * 根据角色ID获取权限列表
     */
    List<SysPermission> getPermissionsByRoleId(Long roleId);
    
    /**
     * 根据用户ID获取权限列表
     */
    List<SysPermission> getPermissionsByUserId(Long userId);
    
    /**
     * 根据用户名获取权限列表
     */
    List<SysPermission> getPermissionsByUsername(String username);
}
